package com.cskaoyan.javase.oop2._1extends._10final._3variable._0introduction;
/**
 * final修饰变量,表示最后的变量,最终的变量,表示常量
 * final修饰变量时,可以修饰三种变量:
 *      1.局部变量
 *      2.成员变量
 *      3.静态成员变量
 * final修饰变量,在具体看修饰某种变量之前,先明确以下三点:
 *      1.final修饰变量,表示常量,是一种自定义常量
 *          常量的分类:
 *              a.字面值常量,包括代码中直接写出来数字,双引号起来去的字符串,单引号引起来的字符等等
 *              b,自定义常量,指的就是final修饰的变量.
 *          自定义常量的命名规范:
 *              一般来说自定义常量,建议名字全部大写,然后单词之间用"_"隔开
 *              当然,这种命名规范并不强制,实际上很多jdk源码中的常量都没有这么命名
 *              实际开发中来说,建议final修饰静态成员变量时,采取这种命名
 *              其余final自定义常量,可用可不用
 *
 *      2.final修饰变量,仅表示该变量成为一个常量.
 *          但是这个变量在内存中存储位置,生命周期,存储方式,定义方式,使用方式等等都不会改变
 *          比如final修饰局部变量,表示局部常量,仍然处在方法的栈帧中,仍然和方法调用同生共死.
 *
 *      3.final修饰变量,变量分为两大类:
 *          a.基本数据类型变量
 *              基本数据类型变量都是数值,final修饰后,表示数值不变.
 *
 *          b.引用数据类型变量
 *              final修饰的是引用,表示引用是一个常量,引用中存储的地址不再发生变化
 *                  -> 引用不能再直线一个新的对象
 *                  但是对象的状态(属性的取值)仍然可以改变.
 *
 *
 * @since 11:14
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}
